package ssm.Dao;

import org.apache.ibatis.annotations.Param;
import ssm.Pojo.YzUsers;

import java.util.List;
import java.util.Map;

/**
 * 用户方法接口
 */
public interface UserDao {
    //用户登陆
    public YzUsers UserLogin(@Param("account") String account, @Param("password") String password);
    //用户注册
    public int UserRegister(@Param("user")YzUsers user);
    //判断user_id是否存在
    public int isExistUser(@Param("id")String UUID);
    //用户注册使用，登陆的账号username必须唯一：检索是否存在
    public int isExistUsername(@Param("username")String username);
    //用户修改个人信息
    public int updateUser(@Param("user")YzUsers user);
    //删除用户
    public int deleteUser(@Param("id")String user_id);
    //查询所有用户，分页&计算用户总数
    public List<YzUsers> queryAllUsers(@Param("index")Integer index,@Param("maxResult")Integer maxResult);
    public int queryTotalUser();
    //批量插入用户
    public int BatchInsertUsers(Map<String,Object> map);
    //批量查询用户List<user_id>
    List<YzUsers> BatchFind(List<String> user_ids);
    //清空用户，truncate不能用在有关联的表，故用delete
    int deleteFrom();
    //根据id查询用户，核心配置文件应用别名
    YzUsers queryUserById(String user_id);
}
